/* 
 * File:   main.cpp
 * Author: Maximiliano Monzon (82341)
 *
 * Created on October 19, 2012, 9:30 PM
 */

#include <cstdlib>
#include "Servidor.h"
#include "Excepcion.h"

using namespace std;
using namespace TP;
using namespace TP::Comunicacion;

#define VALOR_RETORNO_DEFECTO 0

int main(int argc, char** argv) {
    if (argc == 3)
    {
        try
        {
            Servidor servidor (argv[1], argv[2]);
            servidor.Iniciar();
            
            cout << "Salir (q): ";
            string comando = "";

            while (std::getline(cin, comando, '\n'))
            {
                if ("q" == comando)
                    break;
                else
                    cout << endl << "Comando invalido..." << endl << endl << "Salir (q): ";;
            }
            servidor.Finalizar();
        }
        catch (Excepcion& pEx)
        {
            cerr << pEx.what() << std::endl;
        } 
    }
    else
        cout << "Argumentos invalidos.  Intente ./servidor puerto red_info_ruta cve_inforuta..." << endl;
    
    cout << "Chau!" << endl;
    
    return VALOR_RETORNO_DEFECTO;
}

